﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using com.creditos.bl.interfaces.liclSolcred;
using com.creditos.be.liclSolcred;
using com.creditos.dao.sql.liclSolcred;
using com.creditos.be.liclUtil;

namespace com.creditos.bl.liclSolcred
{
    [ServiceBehavior(Name = "ProductoBL",
 Namespace = "http://com.creditos.bl.interfaces.liclSolcred",
 ConcurrencyMode = ConcurrencyMode.Multiple,
 InstanceContextMode = InstanceContextMode.PerSession,
 IncludeExceptionDetailInFaults = true)]
    public class ProductoBL : IProductoBL
    {

        #region IProductoBL Members

        public List<ProductoBE> ListarProductos(ProductoBE oProductosBE)
        {
            try
            {
                List<ProductoBE> lstProducto = new List<ProductoBE>();
                lstProducto = ProductoDAO.ListarProductos(oProductosBE);
                return lstProducto;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<SubProductoBE> ListarSubProductos(ProductoBE oProductoBE)
        {
            try
            {
                List<SubProductoBE> lstSubProducto = new List<SubProductoBE>();
                lstSubProducto = ProductoDAO.ListarSubProductos(oProductoBE);
                return lstSubProducto;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<ParametroBE> ListarTipoEvaluacion(ParametroBE oParametroBE)
        {
            try
            {
                List<ParametroBE> lstParametro = new List<ParametroBE>();
                lstParametro = TipoEvaluacionDAO.Listar(oParametroBE);
                return lstParametro;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<CampanaBE> ListarCampana(ParametroBE oParametroBE)
        {
            try
            {
                List<CampanaBE> lstParametro = new List<CampanaBE>();
                lstParametro = CampanaDAO.Listar(oParametroBE);
                return lstParametro;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<CanalVentaBE> ListarCanalVenta(CanalVentaBE oCanalVentaBE)
        {
            try
            {
                List<CanalVentaBE> lstCanalVenta = new List<CanalVentaBE>();
                lstCanalVenta = CanalVentaDAO.Listar(oCanalVentaBE);
                return lstCanalVenta;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<CiiuBE> ListarCiiuGrupo(CiiuBE oCiiu)
        {
            try
            {
                List<CiiuBE> lstCanalVenta = new List<CiiuBE>();
                lstCanalVenta = CiiuDAO.ListarGrupo(oCiiu);
                return lstCanalVenta;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<AgenciaBE> ListarAgencia()
        {
            try
            {
                List<AgenciaBE> lstAgencia = new List<AgenciaBE>();
                lstAgencia = AgenciaDAO.Listar();
                return lstAgencia;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<RepresentanteBE> ListarRepresentante(RepresentanteBE oRepresentante)
        {
            try
            {
                List<RepresentanteBE> lstRepresentanteBE = new List<RepresentanteBE>();
                lstRepresentanteBE = AgenciaDAO.ListarRepresentante(oRepresentante);
                return lstRepresentanteBE;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        public List<UbigeoBE> ListarUbigeo(UbigeoBE oUbigeo)
        {
            try
            {
                List<UbigeoBE> lstRepresentanteBE = new List<UbigeoBE>();
                lstRepresentanteBE = AgenciaDAO.ListarUbigeo(oUbigeo);
                return lstRepresentanteBE;

            }
            catch (Exception oEx)
            {
                FaultReason oErr = new FaultReason(oEx.Message);
                throw new FaultException(oErr);
            }
        }

        #endregion
    }
}
